/**
 * @file    jbd_up16s019_16s_200a.h
 * @brief   UP16S015-L16S200A项目配置表
 * @author  Liuwei
 * @version 1.0.3
 * @date    2024-06-25
 * 
 * @copyright Copyright (c) 2024 JBD-Energy Storage Technology Co. LTD
 * 
 * @par 修改日志:
 * <table>
 * <tr><th>Date       <th>Version   <th>Author   <th>Description
 * <tr><td>2023-06-06 <td>1.0.1     <td>Liuwei   <td>首次创建
 * <tr><td>2024-01-03 <td>1.0.2     <td>Liuwei   <td>添加串数最大最小配置参数
 * <tr><td>2024-06-25 <td>1.0.3     <td>Liuwei   <td>简化配置表。
 * </table>
 */

#ifndef __JBD_UP16S023_16S_300A_H_
#define __JBD_UP16S023_16S_300A_H_

/* file includes -------------------------------------------------------------*/
#include <stdint.h>
#include "user_def.h"
/* cplusplus -----------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif

/* macro/define/typedef ------------------------------------------------------*/
/** @brief 配置版本信息 */
#define HARD_PLATFORM           ("UP16S019.16S200A")
#define PRJ_NAME                ("JBD")
#define DEV_NAME                ("L16S200A")  // 命名方式 L+串数+电流+A ，不能改，改了会连不上PACE上位机
#define SOFT_VER_RELEASE        (1)
#define SOFT_VER_TEST           (4)
/** @brief 定义地址使用模式 */
#define PARALLEL_MODE_RS485     (1) /* RS485 */
/** @brief 定义LED灯显示方式*/
#define LED_DISP_TYPE           (LED_STD_6)  // 参考USE_DEF定义
/** @brief 配置并机个数 */
#define CFG_PARALLEL_NUM        (16)
/** @brief 配置波特率 */
#define COM_PCS_RATE            (9600)
/** @brief SOC配置信息 */
#define PAR_DFT_SOC_STANDY      (0x00) //0x05 关闭 ，SOC 容量自学习默认关闭
#define PAR_DFT_SOC_CALIB       (0x00) //0x05 开启 ，SOC 末端追踪算法
/** @brief 功能配置 */
#define PAR_DFT_FUNC_HOT        (0x00) //0x01 开启 ，加热使能
#define PAR_DFT_FUNC_LIMIT      (0x00) //0x01 开启 ，0x00：被动限流  0x01 主动限流
#define PAR_DFT_FUNC_RLED       (0x00) //0x01 开启 ，0x00: 右-左 ，0x01：左->右
#define PAR_DFT_FUNC_NLED       (0x00) //0x01 开启 ，0x00: 6位   ，0x01：4位
#define PAR_DFT_FUNC_MOSLED     (0x00) //0x01 上电点亮 ，0x00: 上电关闭   ，
#define PAR_DFT_FUNC_FENG       (0x00) //0x01 开启 ，风扇使能  

/** @brief 配置短路保护电流 */
#define CURR_SMP_RES            (C300A_SMP_RES)  /*采样电阻*/
#define PAR_DFT_SC_CURR         (2000)
#define PAR_DFT_SC_DLY          (192)
#define PAR_DFT_IDE_SLEEP_DLY   (1440)
/** @brief 配置电芯及温度参数*/
#define PAR_DFT_CELL_NUM        (16)	
#define PAR_DFT_TEMP_NUM        (4)
#define CFG_SYS_IDDQ            (25)   /*!< 静态功耗系数 mA*/
#define ZERO_DRIFT              (1.5f)

/** @brief 配置LED显示 */
/** @brief 配置告警与保护默认参数配置 */
/** @brief 单体过压*/
#define PAR_DFT_COV_ALM_VAL     (3600)  /* !< 告警值 [mV]*/
#define PAR_DFT_COV_ALM_RCV     (3380)  /* !< 告警恢复值*/
#define PAR_DFT_COV_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_COV_PRP_VAL     (3650)  /* !< 保护值*/
#define PAR_DFT_COV_PRP_RCV     (3380)  /* !< 保护恢复值*/
#define PAR_DFT_COV_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 单体欠压 */
#define PAR_DFT_CUV_ALM_VAL     (2700)  /* !< 告警值 [mV]*/
#define PAR_DFT_CUV_ALM_RCV     (2900)  /* !< 告警恢复值*/
#define PAR_DFT_CUV_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_CUV_PRP_VAL     (2500)  /* !< 保护值*/
#define PAR_DFT_CUV_PRP_RCV     (3000)  /* !< 保护恢复值*/
#define PAR_DFT_CUV_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 总压过压保护 */
#define PAR_DFT_BOV_ALM_VAL     (5760)  /* !< 告警值 [0.01V]*/
#define PAR_DFT_BOV_ALM_RCV     (5440)  /* !< 告警恢复值*/
#define PAR_DFT_BOV_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_BOV_PRP_VAL     (5840)  /* !< 保护值 */
#define PAR_DFT_BOV_PRP_RCV     (5440)  /* !< 保护恢复值 */
#define PAR_DFT_BOV_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 总压欠压保护 */
#define PAR_DFT_BUV_ALM_VAL     (4320)  /* !< 告警值 [0.01V]*/
#define PAR_DFT_BUV_ALM_RCV     (4800)  /* !< 告警恢复值 [0.01V]*/
#define PAR_DFT_BUV_ALM_DLY     (1000)  /* !< 告警延时 */
#define PAR_DFT_BUV_PRP_VAL     (4000)  /* !< 保护值 */
#define PAR_DFT_BUV_PRP_RCV     (4800)  /* !< 保护恢复值*/
#define PAR_DFT_BUV_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 充电过流1 */
#define PAR_DFT_OCC_ALM_VAL     (3100)  /* !< 告警值 [0.1A,-50]*/
#define PAR_DFT_OCC_ALM_RCV     (2000)  /* !< 告警恢复值*/
#define PAR_DFT_OCC_ALM_DLY     (2000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OCC_PRP_VAL     (3250)  /* !< 保护值*/
#define PAR_DFT_OCC_PRP_DLY     (2000)  /* !< 保护延时*/
#define PAR_DFT_OCC_RCV_DLY     (600)   /* !< 恢复延时 [S]*/
#define PAR_DFT_OCC_LOCK_TIMES  (0xffff) /* !< 尝试次数 [次]*/
/** @brief 充电过流2 */ 
#define PAR_DFT_OCC2_PRP_VAL    (3600)  /* !< 保护值*/
#define PAR_DFT_OCC2_PRP_DLY    (500)   /* !< 保护延时*/
#define PAR_DFT_OCC2_RCV_DLY    (600)   /* !< 恢复延时 [S]*/
#define PAR_DFT_OCC2_LOCK_TIMES (0xffff) /* !< 尝试次数 [次]*/
/** @brief 放电过流1 */
#define PAR_DFT_OCD_ALM_VAL     (3100)  /* !< 告警值 [0.1A]*/
#define PAR_DFT_OCD_ALM_RCV     (2000)  /* !< 告警恢复值*/
#define PAR_DFT_OCD_ALM_DLY     (2000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OCD_PRP_VAL     (3250)  /* !< 保护值*/
#define PAR_DFT_OCD_PRP_DLY     (2000)  /* !< 保护延时*/
#define PAR_DFT_OCD_RCV_DLY     (60)    /* !< 恢复延时 [S]*/
#define PAR_DFT_OCD_LOCK_TIMES  (3)     /* !< 恢复延时 [次]*/
/** @brief 放电过流2 */
#define PAR_DFT_OCD2_PRP_VAL    (3600)  /* !< 保护值*/
#define PAR_DFT_OCD2_PRP_DLY    (200)   /* !< 保护延时*/
#define PAR_DFT_OCD2_RCV_DLY    (60)    /* !< 恢复延时 [S]*/
#define PAR_DFT_OCD2_LOCK_TIMES (3)     /* !< 恢复延时 [次]*/
/** @brief 充电高温 */
#define PAR_DFT_OTC_ALM_VAL     (1050)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_OTC_ALM_RCV     (1000)  /* !< 告警恢复值*/
#define PAR_DFT_OTC_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OTC_PRP_VAL     (1150)  /* !< 保护值 */
#define PAR_DFT_OTC_PRP_RCV     (1000)  /* !< 保护恢复值*/
#define PAR_DFT_OTC_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 充电低温 */
#define PAR_DFT_UTC_ALM_VAL     (550)   /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_UTC_ALM_RCV     (600)   /* !< 告警恢复值 */
#define PAR_DFT_UTC_ALM_DLY     (1000)  /* !< 告警延时 */
#define PAR_DFT_UTC_PRP_VAL     (500)   /* !< 保护值 */
#define PAR_DFT_UTC_PRP_RCV     (550)   /* !< 保护恢复值*/
#define PAR_DFT_UTC_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 放电高温 */
#define PAR_DFT_OTD_ALM_VAL     (1050)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_OTD_ALM_RCV     (1000)  /* !< 告警恢复值 */
#define PAR_DFT_OTD_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OTD_PRP_VAL     (1150)  /* !< 保护值 */
#define PAR_DFT_OTD_PRP_RCV     (1000)  /* !< 保护恢复值*/
#define PAR_DFT_OTD_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 放电低温 */
#define PAR_DFT_UTD_ALM_VAL     (350)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_UTD_ALM_RCV     (400)  /* !< 告警恢复值 */
#define PAR_DFT_UTD_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_UTD_PRP_VAL     (300)  /* !< 保护值 */
#define PAR_DFT_UTD_PRP_RCV     (350)  /* !< 保护恢复值*/
#define PAR_DFT_UTD_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief MOS高温 */
#define PAR_DFT_OTM_ALM_VAL     (1450)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_OTM_ALM_RCV     (1300)  /* !< 告警恢复值*/
#define PAR_DFT_OTM_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OTM_PRP_VAL     (1550)  /* !< 保护值 */
#define PAR_DFT_OTM_PRP_RCV     (1350)  /* !< 保护恢复值*/
#define PAR_DFT_OTM_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 环境高温 */
#define PAR_DFT_OTE_ALM_VAL     (1200)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_OTE_ALM_RCV     (1150)  /* !< 告警恢复值 */
#define PAR_DFT_OTE_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_OTE_PRP_VAL     (1250)  /* !< 保护值 */
#define PAR_DFT_OTE_PRP_RCV     (1200)  /* !< 保护恢复值*/
#define PAR_DFT_OTE_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 环境低温 */
#define PAR_DFT_UTE_ALM_VAL     (350)  /* !< 告警值 [-50,0.1℃]*/
#define PAR_DFT_UTE_ALM_RCV     (400)  /* !< 告警恢复值 */
#define PAR_DFT_UTE_ALM_DLY     (1000)  /* !< 告警延时 [mS]*/
#define PAR_DFT_UTE_PRP_VAL     (300)  /* !< 保护值 */
#define PAR_DFT_UTE_PRP_RCV     (350)  /* !< 保护恢复值*/
#define PAR_DFT_UTE_PRP_DLY     (1000)  /* !< 保护延时*/
/** @brief 压差保护*/
#define PAR_DFT_VDIFF_ALM_VAL   (600)  /* !< 告警值 [1mV]*/
#define PAR_DFT_VDIFF_ALM_RCV   (500)  /* !< 告警恢复值*/
#define PAR_DFT_VDIFF_ALM_DLY   (8000)  /* !< 告警延时 */
#define PAR_DFT_VDIFF_PRP_VAL   (800)  /* !< 保护值 */
#define PAR_DFT_VDIFF_PRP_RCV   (500)  /* !< 保护恢复值*/
#define PAR_DFT_VDIFF_PRP_DLY   (8000)  /* !< 保护延时*/

/** @brief SOC过低保护*/
#define PAR_DFT_SOCL_ALM_VAL    (10)    /* !< 告警值 [1%]*/
#define PAR_DFT_SOCL_ALM_RCV    (15)    /* !< 告警恢复值*/
#define PAR_DFT_SOCL_ALM_DLY    (2000)  /* !< 告警延时 */

/** @brief 配置电芯参数 */
#define PAR_DFT_STD_CAP         (31400)  /* !< 标称容量[0.01Ah] */
#define PAR_DFT_FULL_CAP        (31400)  /* !< 满充容量[0.01Ah] */
#define PAR_DFT_REAL_CAP        (15700)   /* !< 剩余容量[0.01Ah] */
#define PAR_DFT_REAL_SOC        (5000)   /* !< 剩余容量[0.01%] */
#define PAR_DFT_DAMP_FECTOR     (150)    /* !< 循环多少次衰减1%*/
#define PAR_DFT_CYCLE_COEFF     (80)     /* !< 循环系数 */
#define PAR_DFT_BLC_OP_VOLT     (3400)   /* !< 均衡开启电压 */
#define PAR_DFT_BLC_OP_VDIFF    (30)     /* !< 均衡开启压差 */
#define PAR_DFT_HOT_START_T     (500)    /* !< 加热开启温度 [-50,0.1]*/
#define PAR_DFT_HOT_STOP_T      (600)    /* !< 加热关闭温度 */
#define PAR_DFT_FULL_CHG_VOLT   (5680)   /* !< 满充校准电压 */
#define PAR_DFT_FULL_CHG_CURR   (2000)   /* !< 满充校准电流 */
#define PAR_DFT_BLC_OPEN_MODE   (0)      /* !< 0: 充电均衡 1:非放电均衡 */
/** @brief 配置pack参数 */
#define PAR_DFT_BMS_SN          "JBD48300001"
#define PAR_DFT_BMS_YEAR        (2025)
#define PAR_DFT_BMS_MONTH       (5)
#define PAR_DFT_BMS_DATE        (20)
#define PAR_DFT_PACK_SN         "JBD48300001"
#define PAR_DFT_PACK_YEAR       (2025)
#define PAR_DFT_PACK_MONTH      (5)
#define PAR_DFT_PACK_DATE       (20)
#define PAR_DFT_PACK_MFT        "JBD-UP16S023-300A-300A"        /* !< 生产商家编号 */
#define PAR_DFT_PCS_RS485_TYPE  (PCS_RS485_PYLON)   /* !< 逆变协议 */
#define PAR_DFT_PCS_CAN_TYPE    (PCS_CAN_PYLON)     
/** @brief 配置其他参数 */
#define PAR_DFT_SLEEP_DLY       (24*60)   /* !< 待机休眠延时 min*/
#define PAR_DFT_SLEEP_VOLT      (3100)    /* !< 待机休眠电压 mV */
#define PAR_DFT_SLEEP_CURR      (10)      /* !< 待机休眠电流 X10 A*/
#define PAR_DFT_IDE_SLP_DLY     (0)  /* !< 待机休眠延时 min*/
#define PAR_DFT_IDLE_SLEEP_DLY  (48*60)
/** @brief SOP配置参数 */
// 充电SOP
#define PAR_DFT_SOP_CV          (PAR_DFT_BOV_PRP_VAL*0.1) /* SOP 最高充电电压 */ 
#define PAR_DFT_SOP_CC          (1000)
// 放电SOP
#define PAR_DFT_SOP_DV          (PAR_DFT_BUV_ALM_VAL*0.1) /* SOP 最低放电电压 */
#define PAR_DFT_SOP_DC          (2000)
/* variables -----------------------------------------------------------------*/

/*******************************************************************************
 * public API List
 ******************************************************************************/

#ifdef __cplusplus
}
#endif

#endif  /* #ifndef __JBD_UP16S023_16S_300A_H_ */
/********** Copyright (c) 2028 JBD-Energy Storage Technology Co. LTD *********/
